//axios的封装
//1.引入 axios
import axios from 'axios';
//引入提示信息的全局引入
import { Message, MessageBox } from 'element-ui';
// import { getCookie } from '@/utils/support';
//引入store
import store from '../store';
import router from '../router';

//2.创建axios 实例
const service = axios.create({
    //3.配置
    baseURL: "http://yinruifang.cn//index/Api/",
    timeout: 10 * 60 * 1000 //1分钟  
})

//4. 请求拦截
service.interceptors.request.use(
    (config) => {
        //配置 请求拦截中的token
        config.headers.Authorization = 'token' //getCookie("token"); //"token"  //后期需要改写为 后台传过来的token的值
        return config;
    },
    (err) => {
        return Promise.reject(err);
    }
)

//5.响应拦截
service.interceptors.response.use(
    (res) => {
        const data = res.data;
        console.log(res);
        if (data.status != 200) {
            if (data.status == 401) {
                //token出错,提示，跳转到登录页
                MessageBox.confirm('您已经被登出了，您是留在这个页面上还是重新登录?', '确认登出', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => {
                    //退出登录
                    store.dispatch('LogoutAC');
                    //刷新页面
                    //location.reload();
                    router.go(0);
                }).catch(() => {
                    console.log("留在原页面");
                });

            } else {
                console.log("出错了");
                Message({
                    message: data.msg,
                    type: "error"
                })
            }


        }


        return data;


    },
    (err) => {
        return Promise.reject(err);
    }
)

//6.导出
export default service;